Test and measurement systems utilize multiple probes (sensors) that produce and consume various types of data. Probes vary greatly from one to another. For example, probes can measure different parameters, or use different units of measurement for the same parameter. It is important that when using data from a probe, the user (usually a test system) know what parameters, such as units of measurement, uncertainty of the measurement, description, name, data type, etc., the probe is using. In some systems, a new probe can come ‘online’ and the existing measurement system may not know what the sensor's parameters are. In some situations, the sensor may change parameters and this change must be communicated to the measurement system. Ideally, the sensor would communicate to the system using metadata to indicate the parameters of the data. This metadata is sent in addition to the measurement data from the probe.
However, as probe become smaller and less expensive it is common for the communication channel to be either very low bandwidth or for the sensor to have limited power. That is, the device can only send a small amount of data at any one time. The probe may additionally be constrained to only transmit data and may lack the capability of receiving data from the measurement system.
Traditional solutions either embed the metadata with every transmission (making the data self-describing) or they employ some type of query/response protocol allowing the system to discover and query the probe for various types of metadata that may be needed by the measurement system.
For example, a probe that produces an integer temperature reading every 10 seconds may have metadata that is several hundred times as large (in terms of bytes) as the measured temperature itself. When sending only the data, the probe can get by with a lower bandwidth/lower power communication scheme than it could if it had to send all the metadata with every reading. One solution is to have any measurement receiving device query the probe for its metadata so the probe does not have to send the metadata very often. However, this will not work if the probe is transmit only, or if the probe has a lot of different metadata to send, or if the probe has bandwidth constraints.